package br.com.loja.model.service.callback.impl;

import java.math.BigDecimal;
import java.util.Date;
import br.com.loja.model.entity.conta.Conta;
import br.com.loja.model.entity.despesa.DespesaAbstrata;
import br.com.loja.model.service.callback.Callback;
import br.com.loja.model.service.callback.PrePersist;
import br.com.loja.model.service.callback.PreUpdate;

/**
 * @brief Classe DespesaCallback
 * @author David Luiz
 * @date 25/11/2014
 */
@Callback(DespesaAbstrata.class)
public class DespesaCallback {

    public DespesaCallback() {
    }

    @PrePersist
    @PreUpdate
    public void setConta(DespesaAbstrata entity) {

        Conta conta = entity.getConta();

        if (conta == null) {
            conta = new Conta();
            conta.setIdConta("CONTADESPESA@" + new Date().getTime());
            conta.setDescricao("CONTA " + entity.getDescricao());
            conta.setSaldoBloqueado(BigDecimal.ZERO);
            entity.setConta(conta);
        } else {
            conta.setDescricao("CONTA " + entity.getDescricao());
        }

    }

}
